/* 
 * File:   ParseException.h
 * Author: hans
 *
 * Created on 18. listopad 2012, 22:35
 */

#ifndef PARSEEXCEPTION_H
#define	PARSEEXCEPTION_H

#include <string>

/**
 * Trid predstavujici vyjimku, kterou vyhazuje parser v pripade syntakticke chyby.
 */
class ParseException : public std::exception
{
public:
    /**
     * Vytvori novou vyjimku s chybovou zpravou.
     * @param text  chybova zprava.
     */
    ParseException(const std::string text = "Syntax error");
    /**Destruktor*/
    virtual ~ParseException() throw();
    /**
     * Vrati chybovou hlasku.
     * @return chybova hlaska.
     */
    const char* what() { return text.c_str(); }
    /**
     * Vrati chybovou hlasku.
     * @return chybova hlaska.
     */
    std::string getText() { return text; }
private:
    std::string text;
};

#endif	/* PARSEEXCEPTION_H */

